package com.sws.device.util;

import com.sws.device.domain.DevDevice;
import com.sws.device.mapper.DevDeviceMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

/**
 * 设备工具类
 * 提供设备相关的工具方法
 */

public class DeviceUtil {

    private static DevDeviceMapper devDeviceMapper;

    @Autowired
    public void setDevDeviceMapper(DevDeviceMapper mapper) {
        DeviceUtil.devDeviceMapper = mapper;
    }

    /**
     * 根据设备序列号获取设备信息
     *
     * @param sn 设备序列号
     * @return 设备信息
     */
    public static DevDevice getDeviceBySn(String sn) {
        if (!StringUtils.hasLength(sn)) {
            return null;
        }
        return devDeviceMapper.selectDevDeviceBySn(sn);
    }

    /**
     * 根据设备序列号获取设备IP
     *
     * @param sn 设备序列号
     * @return 设备IP地址
     */
    public static String getDeviceIpBySn(String sn) {
        DevDevice device = getDeviceBySn(sn);
        if (device != null && StringUtils.hasLength(device.getIp())) {
            return device.getIp();
        }
        return null;
    }

    /**
     * 根据设备序列号获取设备完整URL
     *
     * @param sn 设备序列号
     * @return 设备完整URL（http://ip）
     */
    public static String getDeviceUrlBySn(String sn) {
        String ip = getDeviceIpBySn(sn);
        if (StringUtils.hasLength(ip)) {
            return "http://" + ip;
        }
        return null;
    }
} 